Developer Documentation

QuickTime 4 API Documentation

QuickTime 4 Reference

| Previous | Chapter Contents | Chapter Top | Next |

Using a kTweenTypePathToFixedPoint Tween Component

To use a kTweenTypePathToFixedPoint tween component, do the following:

  1. Create a QT atom container.
  2. Insert a kTweenEntry atom into the QT atom container for the tween.
  3. Insert a kTweenType atom that specifies the tween type into the kTweenEntry atom.
  4. Insert a kTweenData atom into the kTweenEntry atom.
  5. Perform the tweening operation, using QTDoTween.

Listing 13 shows how to create a kTweenTypePathToFixedPoint tween.

Listing 13 Creating a kTweenTypePathToFixedPoint tween container

err = CreateSamplePathTweenContainer( container,
                                    kTweenTypePathToFixedPoint, 2, false,
                                    duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    gxPoint absolutePoint;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    absolutePoint = *(gxPoint *)*result;
}
    
err = QTDisposeTween( tween );

bail:
    if ( container ) QTDisposeAtomContainer( container );
    if ( result ) DisposeHandle( result );

Listing 14 shows how to create a kTweenTypePathToFixedPoint tween in which the kTweenReturnDelta flag is set.

Listing 14 Creating a kTweenTypePathToFixedPoint tween container

err = CreateSamplePathTweenContainer( container,
                                    kTweenTypePathToFixedPoint, 2, true,
                                    duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    gxPoint deltaPoint;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    deltaPoint = *(gxPoint *)*result;
}
    
err = QTDisposeTween( tween );

bail:
    if ( container ) QTDisposeAtomContainer( container );
    if ( result ) DisposeHandle( result );

© 1999 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |